1. The Field of the Invention
The present invention relates to multi-tier database systems in which one or more servers obtain data from at least one other server and, more particularly, to extending use of data types in multi-tier database systems.
2. Background and Relevant Art
In existing multi-tier database systems that include a back end server and one or more middle tier servers, types of data objects are defined separately by each of the servers. In particular, each server defines the types of data that can be used and stores the corresponding code for utilizing the data types. Although this configuration is useful for enabling each of the servers to utilize the various shared data types, it also requires that the definitions and code corresponding to each of the data types be manually installed into each of the servers.
To overcome this type of redundant data storage, some multi-tier database systems enable the definitions and code of the data types to be copied between the servers. Enabling each of the servers to randomly copy and transmit data type definitions and code, however, can lead to compatibility and consistency problems. In particular, the absence of a centralized location from which the data types are deployed increases the likelihood that the appropriate definitions and code will not be propagated at a desired time or in a desired manner. For example, when the definitions or code corresponding to a data type are copied between middle tier servers, these definitions and code may be incompatible with newer versions that have been modified or added at the back end server, thereby preventing use of the data type between the back end server and the middle tier server.
These problems can be accentuated even further when considering embodiments in which new middle tier servers are added to existing distributed database systems. In particular, new middle tier servers may support new data types or different sets of data types previously recognized. Alternatively, the new middle tier server may not recognize or support all of the data types that are currently being used in the distributed system. In such environments it becomes necessary for each of the servers to continually monitor each of the remaining servers for new data types and to update their own data type registries, definitions and code to conform to the new or modified data types for compatibility.
For at least the foregoing reasons, there currently exists a need in the art for improved methods and systems for creating, modifying and deploying new data types in multi-tier database systems.